# hash()是系统自带的
# elf_hash()是业界常用的，不是自带的，也不用自己记，有代码

# print(ord('a')) 得97  ord是可以对单个字母算出ASCII码值

MAXKEY = 1000


def elf_hash(hash_str):
    h = 0
    g = 0
    for i in hash_str:
        h = (h << 4) + ord(i)
        g = h & 0xf0000000
        if g:
            h ^= g >> 24
        h &= ~g
    return h % MAXKEY


f = open('shengjing.text', 'r+')
print(type(f))

def use_hash():
    str_list=[]  #要存到哈希表的数据

    hash_table=[None]*MAXKEY  #哈希表初始化
    for i in str_list:
        if hash_table[elf_hash(i)]:
            print('哈希冲突')
        else:
            hash_table[elf_hash(i)]=i
    pass

for i in f:
    # if i !=
    pass